package com.dianjing.dianjing.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dianjing.dianjing.dto.input.LoginInput;
import com.dianjing.dianjing.dto.input.UserInfoUpdateInput;
import com.dianjing.dianjing.dto.input.UserInput;
import com.dianjing.dianjing.dto.output.PainterShowOutput;
import com.dianjing.dianjing.dto.output.UserOutput;
import com.dianjing.dianjing.entity.User;
import com.dianjing.dianjing.util.DataUtils;
import com.dianjing.dianjing.util.ResponseData;

import java.util.List;


public interface UserService extends IService<User> {

    /**
     * 用户登录
     * @param input 登录入参
     * @return
     */
    ResponseData login(LoginInput input);

    /**
     * 用户注册
     * @param input
     * @return
     */
    ResponseData register(UserInput input);

    Boolean updateUserInfo(UserInfoUpdateInput userInfoUpdateInput);

    List<PainterShowOutput> seeTypePainters(Long typeId);

    List<UserOutput> collectPainter(int painterId);

    DataUtils alterPassword(Long userId, String oldPassword, String newPassword);
}
